package com.lh0811.forge.pserv.uacs.server.service;

import com.github.pagehelper.PageInfo;
import com.lh0811.forge.pserv.uacs.api.param.*;
import com.lh0811.forge.pserv.uacs.api.vo.UacsDataRuleVo;
import com.lh0811.forge.pserv.uacs.api.vo.UacsPlateRoleQueryVo;
import com.lh0811.forge.pserv.uacs.api.vo.UacsTenantDepartmentPostQueryVo;

import java.util.List;

public interface TenantPostService {

    // 岗位创建
    void tenantPostCreate(UacsTenantDepartmentPostCreateParam param) throws Exception;

    // 岗位删除
    void tenantPostDelete(Long postId) throws Exception;

    // 岗位修改
    void tenantPostUpdate(UacsTenantDepartmentPostUpdateParam param) throws Exception;

    // 岗位查询(分页)
    PageInfo<UacsTenantDepartmentPostQueryVo> tenantPostQueryPage(UacsTenantDepartmentPostQueryPageParam param) throws Exception;

    // 岗位查询(不分页)
    List<UacsTenantDepartmentPostQueryVo> tenantPostQueryList(UacsTenantDepartmentPostQueryListParam param) throws Exception;

    // 岗位角色关系保存
    void tenantPostRoleRefSave(UacsTenantPostRoleRefSaveParam param) throws Exception;

    // 岗位数据规则保存
    void tenantPostDataRuleSave(UacsTenantPostDataRuleRefSaveParam param) throws Exception;

    // 获取岗位绑定的角色列表
    List<UacsPlateRoleQueryVo> getPostBuildingRoleList(Long postId) throws Exception;

    // 获取岗位绑定的数据规则列表
    List<UacsDataRuleVo> getPostBuildingDataRuleList(Long postId) throws Exception;
}
